diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php
index 3d54126..457cf71 100644
--- a/system/database/drivers/pdo/pdo_driver.php
+++ b/system/database/drivers/pdo/pdo_driver.php
@@ -43,8 +43,6 @@
 class CI_DB_pdo_driver extends CI_DB {
 
 	var $dbdriver = 'pdo';
-	var $pdo_driver = '';
-	var $dsn = '';
 
 	// the character used to excape - not necessary for PDO
 	var $_escape_char = '';
@@ -66,44 +64,39 @@
 	{
 		parent::__construct($params);
 		
-		$host = explode(":", $this->hostname);
-		$this->pdo_driver = $host[0];
-		
-		$this->dsn = $this->hostname;
-		
-		switch($this->pdo_driver)
+		// clause and character used for LIKE escape sequences
+		if (strpos($this->hostname, 'mysql') !== FALSE)
 		{
-			case "mysql":
-				$this->_like_escape_str = '';
-				$this->_like_escape_chr = '';
-				
-				//Prior to this version, the charset can't be set in the dsn
-				if(is_php('5.3.6'))
-				{
-					$this->dsn .= ";charset={$this->char_set}";
-				}
-				
-				//Set the charset with the connection options
-				$this->options['PDO::MYSQL_ATTR_INIT_COMMAND'] = "SET NAMES {$this->char_set}";
-			break;
+			$this->_like_escape_str = '';
+			$this->_like_escape_chr = '';
 			
-			case "odbc":
-				$this->_like_escape_str = " {escape '%s'} ";
-				$this->_like_escape_chr = '!';
-			break;
+			//Prior to this version, the charset can't be set in the dsn
+			if(is_php('5.3.6'))
+			{
+				$this->hostname .= ";charset={$this->char_set}";
+			}
 			
-			case "sqlite":
-				
-			break;
-			
-			default:
-				$this->_like_escape_str = " ESCAPE '%s' ";
-				$this->_like_escape_chr = '!';
-			break;
+			//Set the charset with the connection options
+			$this->options['PDO::MYSQL_ATTR_INIT_COMMAND'] = "SET NAMES {$this->char_set}";
+		}
+		else if (strpos($this->hostname, 'odbc') !== FALSE)
+		{
+			$this->_like_escape_str = " {escape '%s'} ";
+			$this->_like_escape_chr = '!';
+		}
+		else
+		{
+			$this->_like_escape_str = " ESCAPE '%s' ";
+			$this->_like_escape_chr = '!';
 		}
 		
-		$this->dsn .= ";dbname=".$this->database;
+		if (strpos($this->hostname, 'sqlite') === FALSE)
+		{
+			$this->hostname .= ";dbname=".$this->database;
+		}
+		
 		$this->trans_enabled = FALSE;
+
 		$this->_random_keyword = ' RND('.time().')'; // database specific random keyword
 	}
 
@@ -117,7 +110,7 @@
 	{
 		$this->options['PDO::ATTR_ERRMODE'] = PDO::ERRMODE_SILENT;
 		
-		return new PDO($this->dsn, $this->username, $this->password, $this->options);
+		return new PDO($this->hostname, $this->username, $this->password, $this->options);
 	}
 
 	// --------------------------------------------------------------------
@@ -133,7 +126,7 @@
 		$this->options['PDO::ATTR_ERRMODE'] = PDO::ERRMODE_SILENT;
 		$this->options['PDO::ATTR_PERSISTENT'] = TRUE;
 	
-		return new PDO($this->dsn, $this->username, $this->password, $this->options);
+		return new PDO($this->hostname, $this->username, $this->password, $this->options);
 	}
 
 	// --------------------------------------------------------------------
@@ -386,7 +379,7 @@
 	function insert_id($name=NULL)
 	{
 		//Convenience method for postgres insertid
-		if ($this->pdo_driver === "pgsql")
+		if (strpos($this->hostname, 'pgsql') !== FALSE)
 		{
 			$v = $this->_version();
 
@@ -776,7 +769,7 @@
 	 */
 	function _limit($sql, $limit, $offset)
 	{
-		if ($this->pdo_driver === "cubrid" || $this->pdo_driver === "sqlite")
+		if (strpos($this->hostname, 'cubrid') !== FALSE || strpos($this->hostname, 'sqlite') !== FALSE)
 		{
 			if ($offset == 0)
 			{
